<?	
	/* Se asegura que el archivo es incluido por el index */
	defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );  
		$this->oTmpObject = new Agencia_frm( $this );
	
	class Agencia_frm extends Frm
	{
	var $bIncludeEstablecimiento = true;

	function setIncludeEstablecimiento( $bOn )
	{
		$this->bIncludeEstablecimiento = $bOn;
	}
	function setValue ( $ncEstablecimiento )
		{
			$cSql = "SELECT  ncTipoAgencia,  ncCategoriaAgencia,  nLegajo,  bAviaBue,  bIATA,  bAsisteFyC,  bOrganizaFyC,  bGrupos,  bFolletriaPropia,  nqPersonaPorAno,  nDisposicion,  dDisposicion,  bViajesIncentivos,  bEmisiva,  bReceptiva
				FROM gtAgencia
				WHERE ncEstablecimiento = '$ncEstablecimiento' ";
			$aDatos = $this->oDatabase->getArray($cSql);	
			$this->setFieldsArray ( $aDatos );
		}
	function Agencia_frm( &$oModule )
		{
			$this->Frm( $oModule );
			//Crea los Objetos de los campos de edicion
			$this->aFields['ncEstablecimiento']		= new Input( "Codigo", "ncEstablecimiento" , '', false, true);
			$this->aFields['ncTipoAgencia']			= new InputList( "Tipo", "ncTipoAgencia" );
			$this->aFields['ncCategoriaAgencia']	= new InputList( "Categoria", "ncCategoriaAgencia" );
			$this->aFields['nLegajo']						= new InputNumber( "Legajo", "nLegajo" );
			$this->aFields['bAviaBue']					= new InputList( "AviaBue", "bAviaBue" );
			$this->aFields['bIATA']							= new InputList( "IATA", "bIATA" );
			$this->aFields['bAsisteFyC']					= new InputList( 'Asiste a F y C', "bAsisteFyC" );
			$this->aFields['bOrganizaFyC']				= new InputList( 'Organiza F y C', "bOrganizaFyC" );
			$this->aFields['bGrupos']						= new InputList( "Grupos", "bGrupos" );
			$this->aFields['bFolletriaPropia']			= new InputList( "Folletria propia", "bFolletriaPropia" );
			$this->aFields['nqPersonaPorAno']		= new InputNumber( 'Cantidad de Persona x Ano', "nqPersonaPorAno" );
			$this->aFields['nDisposicion']				= new InputNumber( "Disposicion", "nDisposicion" );
			$this->aFields['dDisposicion']				= new InputDate( "Fecha de disposicion",  "dDisposicion" );
			$this->aFields['bViajesIncentivos']		= new InputList( "Viajes de incentivos", "bViajesIncentivos" );
			$this->aFields['bEmisiva']						= new InputList( "Emisiva", "bEmisiva" );
			$this->aFields['bReceptiva']					= new InputList( "Receptiva", "bReceptiva" );	
		}	
	function setLevel( $nLevel)
		{
			switch ( $nLevel )
			{
				case 2: 
					// Alta
					if ( $this->bIncludeEstablecimiento )
					{
						$this->aInput = array ('Establecimiento','ncTipoAgencia','ncCategoriaAgencia','nLegajo','bAviaBue','bIATA','bAsisteFyC','bOrganizaFyC','bGrupos','bFolletriaPropia','nqPersonaPorAno','nDisposicion','dDisposicion','bViajesIncentivos','bEmisiva','bReceptiva' );
					} else
					{
						$this->aInput = array ('ncEstablecimiento','ncTipoAgencia','ncCategoriaAgencia','nLegajo','bAviaBue','bIATA','bAsisteFyC','bOrganizaFyC','bGrupos','bFolletriaPropia','nqPersonaPorAno','nDisposicion','dDisposicion','bViajesIncentivos','bEmisiva','bReceptiva' );
					}
					break;
			}
		}
	function initializeForm()
		{
			// Si viene el Ubicacion hace el retrieve
				if ( $this->isRetrievable() && $this->aFields['ncEstablecimiento']->getValue() )
				{
					$this->setValue( $this->aFields['ncEstablecimiento']->getValue() );
				}
			// Configura el Titulo
				$this->setLabel( "Agencia" );	
			return true;
		}
	function initializeField( $cField , &$oField )
		{			
			switch ( $cField )
			{
				case 'Establecimiento':
					$oField->setOptions( $this->getOptions() );
					$oField->setFormName( $this->getFormName() );
					$oField->setOptionsLevel(2);
					$oField->setOptionsType( 'N');
				break;
				case 'ncTipoAgencia':
					$oField->setLanguage( 'es');
					$cSql = "SELECT ncTipoAgencia, cdTipoAgencia FROM gcTipoAgencia";
					$oField->setMatrix($this->oDatabase->getMatrix($cSql));
					$oField->setMandatory($this->isMandatory());
				break;
				case 'ncCategoriaAgencia':
					$cSql = "SELECT ncCategoriaAgencia, cdCategoriaAgencia FROM gcCategoriaAgencia";
					$oField->setMatrix($this->oDatabase->getMatrix($cSql));
					$oField->setMandatory($this->isMandatory());
				break;
				case 'bAviaBue':
				case 'bIATA':
				case 'bAsisteFyC':
				case 'bOrganizaFyC':
				case 'bFolletriaPropia':
				case 'bViajesIncentivos':
				case 'bReceptiva':
				case 'bEmisiva':
					$oField->setBool();
				break;
			}
 		}
	}
?>